1. Field of the Invention
The present invention relates to a system and method for processing data, and in particular, a system and method for automatically detecting and tracking clusters of data points within a data set or data space with a radial spanning device.
2. Related Art
Automatic data detection and tracking of clusters of data points within a data space is becoming increasingly useful. Data space can be represented by data sets containing data points. Each data point can be represented by a single discrete value (one-dimensional) or by numerous values (multi-dimensional). Typically, each data set contains clusters of data points, each represented by similar or identical values. It is desirable to group this cluster of data points together within a class. For example, a data set containing health information might have data points represented by numerous health values, such as height, weight, body fat, blood pressure, pulse rate, etc. for males and females of all ages and of all ethnic origins. A typical search or query might require detection and tracking of clusters of data points having height-weight values for 20-year-old American males in the set of all conceivable height-weight pairs.
One way to find these data points would be to perform a digital database search. However, database searches do not detect and track clusters of data points, but instead typically only find and sort data values. Statistical sorting methods are used to track and group clusters of data points. However, these statistical methods are usually complex and require extensive memory and processing overhead.
In addition, automatic data detection and tracking is useful for image data. For instance, real-time vision-based systems typically use object tracking and object detection (also referred to as "blob tracking" and "blob detection") systems to digitally detect and track objects within a data space, such as an image. The objects are typically nebulous collections of data points, such as image pixels, which satisfy some property and which often occupy a region or regions within the image.
Three methods commonly used to track blobs include moment computations, connected component analysis, and active contour models. With the moment computation method, some initial spatial filtering is assumed, where pixels outside of a given region are completely ignored. This process is sometimes referred to as windows-based tracking. In other words, "windows" force a restricted region of computation. Classification of pixels within a window can be used to compute position and approximate shape of the object by performing moment computations on the pixels in the window (the remaining pixels). For example, centroid and higher order moments can be computed. The centroid computation allows approximation of the position and the higher order moment computations aid in indicating the shape. Moment computations require O(n) operations and are frequently distracted by objects with similar attributes in the image.
In connected component analysis, pixels that are immediately adjacent to some seed pixel are tested for inclusion in a class. Pixels which fall into the class are added to the cluster and recursively analyzed for adjacency to other pixels and so on, until no other pixels are added to the cluster. Connected component analysis requires O(n) operations, where n is the number of pixels in the object. In addition, the morphological operations of dilation and erosion precede the analysis, and so the hidden coefficients can become large. Finally, connected component analysis is especially prone to being distracted by background pixels with similar properties.
The third method, active contour models, also referred to as snakes, in more efficient formulations requires between O(n) and O(n) operations, depending on the shape. This is because snakes only process pixels near the perimeter of an object. Snakes attempt to balance internal forces, which affect degree of curvature of the snakes, and image forces, which nudge the snakes toward image features such as edges. For object tracking, image forces would attract snakes toward boundaries between pixels that satisfy a class constraint and pixels that do not. Although snakes can be computed efficiently, they are known to be prone to distractions. In addition, in some cases (as, for example, when no high-frequency edges are detected), adaptations to make the snake work can require significant additional computation.
Therefore, what is needed is an effective and efficient technique for detecting and tracking clusters of data within a data space. What is also needed is a fast automatic data tracking technique that is robust to distractions and that can produce an approximate estimate of the characteristics of the clusters of data.
Whatever the merits of the above mentioned systems and methods, they do not achieve the benefits of the present invention.